---
id: 650c6082e5586f9e3acfcd3b
title: Крок 52
challengeType: 20
dashedName: step-52
---

# --description--

Тепер видаліть словник `rods` і перетворіть його ключі на змінні `A`, `B` та `C`, зберігаючи їхні значення. Змініть свій код, щоб відтворити ці зміни. Якщо ви бачите вихідні дані в терміналі, ви зробили все правильно.

# --hints--

Перетворіть `rods['A']` на змінну під назвою `A`, зберігаючи значення.

```js
assert.match(code, /A\s*=\s*list\s*\(\s*range\s*\(\s*NUMBER_OF_DISKS\s*,\s*0\s*,\s*-\s*1\s*\)\s*\)/);
```

Перетворіть `rods['B']` на змінну під назвою `B`, зберігаючи значення.

```js
assert.match(code, /B\s*=\s*\[\s*\]/);
```

Перетворіть `rods['C']` на змінну під назвою `C`, зберігаючи значення.

```js
assert.match(code, /C\s*=\s*\[\s*\]/);
```

Змініть виклик `print()`, щоб він друкував `A`, `B`, `C`, а не об’єкт `rods`. Збережіть символ нового рядка у виклику `print()`.

```js
assert.match(code, /print\s*\(\s*A\s*,\s*B\s*,\s*C\s*,\s*('|")\\n\1\s*\)/);
```

Код повинен містити `target.append(source.pop())`.

```js
assert.match(code, /target\.append\s*\(\s*source\.pop\s*\(\s*\)\s*\)/);
```

# --seed--

## --seed-contents--

```py
--fcc-editable-region--
NUMBER_OF_DISKS = 4
rods = {
    'A': list(range(NUMBER_OF_DISKS, 0, -1)),
    'B': [],
    'C': []
}

def move(n, source, auxiliary, target):
    if n > 0:
        # move n - 1 disks from source to auxiliary, so they are out of the way
        move(n - 1, source, target, auxiliary)

        # move the nth disk from source to target
        rods[target].append(rods[source].pop())

        # display our progress
        print(rods, '\n')

        # move the n - 1 disks that we left on auxiliary onto target
        move(n - 1,  auxiliary, source, target)

# initiate call from source A to target C with auxiliary B
move(NUMBER_OF_DISKS, 'A', 'B', 'C')
--fcc-editable-region--
```

